package com.javandad.app.client;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.javandad.app.shared.entity.Friendship;
import com.javandad.app.shared.entity.Message;
import com.javandad.app.shared.entity.Notification;
import com.javandad.app.shared.entity.project.ProjectAssoc;


/**
 * The async counterpart of <code>SearchService</code>.
 */
public interface MessageBoxServiceAsync {
	void downloadMessages(String username, boolean sent , AsyncCallback<List<Message>> callback);
	void uploadMessage(Message msg , AsyncCallback<Boolean> callback);
	void getSessionInfo(AsyncCallback<List<String>> callback);	
	void downloadNotifications(String username, AsyncCallback<List<Notification>> callback);
	void replyInvitation(Friendship invitation, Boolean reply,
			AsyncCallback<Boolean> callback);
	
	
	void respondParticipationInvitation(ProjectAssoc p, boolean response,
			AsyncCallback<Boolean> callback);
}
